const jwt = require('jsonwebtoken')

// 生成token 
// token中包含了: userId, 过期时间
// 要读取内部包含的数据, 必须要密钥(本质就是一个字符串)
// 密钥只有服务器端知道, 而浏览器端是不知道的
const token = jwt.sign({userId: '234'}, 'atguigu_user', {expiresIn: 3})
console.log(token)

// 解码token
setTimeout(() => {
  jwt.verify(token, 'atguigu_user', (error, decode) => {
    // error.name  TokenExpiredError
    // error.name JsonWebTokenError
    if (error) {
      if (error.name==='TokenExpiredError') {
        console.log('token过期了')
      } else {
        console.log('token非法')
      }
    } else {
      console.log('在有效期内: userId', decode.userId)
    }
  })
}, 4000);
